Data streaming such as media streaming, is a technique for transferring data. With data streaming, a large set of data can be accessed sequentially without first obtaining the entire file. One application of streaming that has found wide acceptance is the streaming of audio and video files that are too large to be downloaded before they are consumed by an end user. Streaming technologies are becoming increasingly important with the growth of the Internet because sufficient bandwidth is needed to download large multimedia files quickly.
Adaptive streaming is an advanced form of streaming that aims to adjust the quality of a data stream delivered to an end-user based on changing network conditions to ensure the best possible delivery experience (e.g., viewing video, listening to audio, and the like). Adaptive streaming also aims to provide an improved streaming media experience because a delivery of the data stream is adapted based upon the changing conditions of the user's network. What is needed is an adaptive streaming technology that is more flexible and appears substantially smooth and seamless to users, so that if up-scaling or down-scaling the quality of the stream is necessary in midstream, the switch does not disrupt the playback.